Bare minimum for client:
- Piece
    - id (guid)
    - name
    - image
    - size (x, y)
    - position (x, y, z)
- Place
    - id (guid)
    - name
    - size (x, y)
    - position (x, y, z)
    - pieces (array)
    - maxPieces

then:
- PieceCollection (like a pile)
- PlaceCollection (like a board)
- Piece types (user defined, facilitates a restriction on the pieces allowed in a Place)